<template>
    <div class="box">
        <!-- 使用组件 -->
        <headers title="登录"></headers>
        <van-form @submit="onSubmit">
            <van-cell-group inset>
                <van-field v-model="username" name="username" label="用户名" placeholder="用户名"
                    :rules="[{ required: true, message: '请填写用户名' }]" />
                <van-field v-model="sms" center clearable label="短信验证码" placeholder="请输入短信验证码">
                    <template #button>
                        <van-button size="small" type="primary" @click="sendFun" v-if="time == 0">发送验证码</van-button>
                        <van-button size="small" type="primary" disabled v-else>倒计时{{ time }}s</van-button>
                    </template>
                </van-field>
                <van-field v-model="password" :type="checked ? 'text' : 'password'" type="password" name="password"
                    label="密码" placeholder="密码" :rules="[{ required: true, message: '请填写密码' }]">
                    <template #button>
                        <!-- <van-switch v-model="checked" /> -->
                        <van-icon name="eye-o" size="30" v-if="checked" @click="checked = false" />
                        <van-icon name="closed-eye" size="30" v-else @click="checked = true" />
                    </template>
                </van-field>

            </van-cell-group>
            <div style="margin: 16px;">
                <van-button round block type="primary" native-type="submit">
                    登录
                </van-button>
            </div>
        </van-form>
        <p style="text-align: right; margin-right: 2rem;">
            <router-link to="/reg">没有账号立即注册？</router-link>
        </p>
    </div>

</template>

<script setup>
import { ref } from 'vue'
import headers from '@/components/headers.vue';
import { loginApi } from '@/api/api';
import { showToast } from 'vant';
import { useRoute, useRouter } from 'vue-router'

const router = useRouter()
const route = useRoute()
const checked = ref(true);
const username = ref('');
const password = ref('');
const onSubmit = (values) => {
    console.log('submit', values);
    loginApi(username.value, password.value).then((res) => {
        if (res.data.code == 0) {
            showToast("登录成功")
            localStorage.setItem('token', res.data.data.token)
            router.back();
        } else {
            showToast(res.data.msg)
        }
    })
};
//获取验证码
let sms = ref('')
let time = ref(0)
const sendFun = () => {
    console.log(Math.random())//获取小数点后  随机 13-14位小数  (数字类型)
    console.log(Math.random().toString())//将数字转化成字符串
    console.log(Math.random().toString().slice(2, 8))//字符串  截取功能
    sms.value = Math.random().toString(36).slice(2, 8)//字母数字组合
    time.value = 10
    let timer = setInterval(() => {
        time.value--
        if (time.value == 0) {
            clearInterval(timer)
        }
    }, 1000)
}
</script>

<style lang="scss" scoped></style>